package online.flowerinsnow.minecraft.bukkit.testffa.manager;

import org.bukkit.entity.Player;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

/**
 * 玩家战斗状态管理器
 */
public interface ICombatManager {
    /**
     * 获取玩家剩余战斗时间(秒)
     * 如果玩家不在线 返回-1
     *
     * @param player 玩家
     * @return 玩家剩余战斗时间
     */
    int getCombatTime(@NotNull Player player);

    /**
     * 设置玩家剩余战斗时间(秒)
     *
     * @param player 玩家
     * @param time 剩余战斗时间
     */
    void setCombatTime(@NotNull Player player, int time);

    /**
     * 获取玩家的战斗对象
     *
     * @param player 玩家
     * @return 玩家的战斗对象
     */
    @Nullable Player getCombatTarget(@NotNull Player player);

    /**
     * 设置玩家的战斗对象
     *
     * @param player 玩家
     * @param target 玩家的战斗对象
     */
    void setCombatTarget(@NotNull Player player, @Nullable Player target);
}
